//'use strict';

myApp.directive('required', function() {
    return {
        restrict: 'A',
        link: function(scope, element, attrs) {
            element.bind('change', function() {
                _log('change');

//                _COMMON.renderSlide();
//		_COMMON.renderMenu();
            });
        }
    };
});

myApp.directive("initFromForm", function () {
    return {
      link: function (scope, element, attr) {
        var modelName = attr.initFromForm || attr.ngModel || element.attr('name');
        scope[modelName] = element.val();
      }
    };
  });

//myApp.directive("laddaButton", function($timeout) {
//	return {
//		link: function(scope, elem) {
//
//			// add ladda button wrapper HTML
//			var l = Ladda.create( elem[0] );
//			elem.addClass("ladda-button");
//			elem.attr("data-style", "contract-overlay");
//			elem.wrapInner("<span class='ladda-label></span>");
//
//			// show ladda button spinner on click
//			// but not if form has empty required elements
//			elem.on("click", function() {
//				$timeout(function() {
//
//					var $form = elem.closest("form");
//					var canSubmit = true;
//					var $required = $form.find("input[required]").each(function() {
//						if ( $(this).val() === "" ) {
//							canSubmit = false;
//						}
//					});
//
//					if ( canSubmit ) {
//						l.start();
//
//						// stop after 20 secs whatever
//						setTimeout(function() {
//							Ladda.stopAll();
//						}, 20000);
//					} 
//				});
//			})
//
//			// remove all when error popup
//			scope.$on("event:wl-failure", function() { 
//				Ladda.stopAll();
//			});
//
//
//
//		}
//	}
//});
//
//
//
//myApp.directive("showEvidenceOptions1", function($timeout) {
//	return {
//		link: function(scope, elem) {
//			elem.on("click", function() {
//				$(".have-evidence1").toggleClass("visible");
//			});
//
//		}
//	}
//});
//
//myApp.directive("showEvidenceOptions2", function($timeout) {
//	return {
//		link: function(scope, elem) {
//			elem.on("click", function() {
//				$(".have-evidence2").toggleClass("visible");
//			});
//
//		}
//	}
//});
//
//myApp.directive("showEvidenceOptions3", function($timeout) {
//	return {
//		link: function(scope, elem) {
//			elem.on("click", function() {
//				$(".have-evidence3").toggleClass("visible");
//			});
//
//		}
//	}
//});
//
//myApp.directive("showEvidenceOptions4", function($timeout) {
//	return {
//		link: function(scope, elem) {
//			elem.on("click", function() {
//				$(".have-evidence4").toggleClass("visible");
//			});
//			
//		}
//	}
//});
//
//myApp.directive("showEvidenceOptions5", function($timeout) {
//	return {
//		link: function(scope, elem) {
//			elem.on("click", function() {
//				$(".have-evidence5").toggleClass("visible");
//			});
//			
//		}
//	}
//});
//
//
//
//
//myApp.directive("makeCols", function() {
//	return {
//		link: function(scope, elem, attrs) {
//			elem.addClass("row");
//			var children = elem.children().length;
//			if ( children === 2 ) {
//				elem.children().wrap("<div class='col-xs-6'></div>");
//			} else if ( children === 3 ) {
//				elem.children().wrap("<div class='col-xs-4'></div>");
//			}
//
//
//		}
//	}
//});
//
//
//myApp.directive("fastClick", function($rootScope) {
//	return function(scope,elem) {
//		FastClick.attach(document.body);
//
//		setTimeout(function() {
//
//
//	        $('.toggle').each(function(){
//	                $('div:first',this).addClass('first');
//	                $('div:last',this).addClass('last');        
//	        });
//    	}, 400);
//
//
//
//		$rootScope.$on("$viewContentLoaded", function () {
//			setTimeout(function() { // force DOM rendering to complete first
//				$('input[type=radio]').customInput();
//			});
//		});
//
//
//    	
//
//	}
//});
//
//
//myApp.directive('backButton', function(){
//	return {
//		restrict: 'A',
//		link: function(scope, element, attrs) {
//			element.bind('click', function() {
//				history.back();
//				scope.$apply();
//			});
//
//		}
//	}
//});
//
//myApp.directive('btnHref', function(){
//	return {
//		restrict: 'A',
//		link: function(scope, element, attrs) {
//			var link = attrs.btnHref;
//			element.bind('click', function() {
//				window.location = attrs.btnHref;
//			});
//
//		}
//	}
//});
//
//// myApp.directive("form", function() {
//// 	return {
//// 		restrict: 'E',
//// 		link: function(scope, element, attrs) {
//// 			element.preventDefault();
//
//// 		}
//// 	}
//// });
//
//// myApp.directive('scaleThis', function($timeout){
//// 	return {
//// 		restrict: 'A',
//// 		link: function(scope, element, attrs) {
//// 			$timeout(function() {
//// 			alert("Nw");
//
//// 				element.addClass("full-size");
//// 			});
//
//// 		}
//// 	}
//// });
//
//myApp.directive("drawImage", function() {
//	return {
//		link: function(scope, element, attrs, ctrl) {
//			
//			debug('drawImage!');
//
//			var context = element[0].getContext('2d');   
//			
////			context.clearRect(0, 0, canvas.width, canvas.height);
////			context.beginPath();
//			var myImage = new Image();
//			myImage.src = 'data:image/png;base64,'+attrs.imgdata;
//			context.drawImage(myImage, 0, 0);
//		}
//	};
//});
//
//myApp.directive('numbersOnly', function(){
//   return {
//     require: 'ngModel',
//     link: function(scope, element, attrs, modelCtrl) {
//       modelCtrl.$parsers.push(function (inputValue) {
//           // this next if is necessary for when using ng-required on your input. 
//           // In such cases, when a letter is typed first, this parser will be called
//           // again, and the 2nd time, the value will be undefined
//           if (inputValue == undefined) return ''; 
//           var transformedInput = inputValue.replace(/[^0-9]/g, ''); 
//           if (transformedInput!=inputValue) {
//              modelCtrl.$setViewValue(transformedInput);
//              modelCtrl.$render();
//           }         
//
//           return transformedInput;         
//       });
//     }
//   };
//});
//
//myApp.directive('datePicker', function(){
//	return {
//		link : function(scope, element, attrs) {
//			$(".datepicker").datepicker(
//					{
//						dateFormat : 'dd/mm/yy',
//						isBuddhist : true,
//						changeMonth : true,
//						changeYear : true,
//						defaultDate : myApp.DateUtils.todayDateStrTh(),
//						dayNames : [ 'อาทิตย์', 'จันทร์', 'อังคาร', 'พุธ',
//								'พฤหัสบดี', 'ศุกร์', 'เสาร์' ],
//						dayNamesMin : [ 'อา.', 'จ.', 'อ.', 'พ.', 'พฤ.', 'ศ.',
//								'ส.' ],
//						monthNames : [ 'มกราคม', 'กุมภาพันธ์', 'มีนาคม',
//								'เมษายน', 'พฤษภาคม', 'มิถุนายน', 'กรกฎาคม',
//								'สิงหาคม', 'กันยายน', 'ตุลาคม', 'พฤศจิกายน',
//								'ธันวาคม' ],
//						monthNamesShort : [ 'ม.ค.', 'ก.พ.', 'มี.ค.', 'เม.ย.',
//								'พ.ค.', 'มิ.ย.', 'ก.ค.', 'ส.ค.', 'ก.ย.',
//								'ต.ค.', 'พ.ย.', 'ธ.ค.' ]
//					});
//		}
//	};
//});